package com.koi.common.satoken;

import cn.dev33.satoken.secure.SaSecureUtil;

/**
 * @author ･ᴗ･
 * @description [PasswordUtil-用户名+密码加密，然后跟数据库进行对比]
 */
public class KoiPasswordUtil {

    /**
     * MD5加密后迭代次数（默认2次）
     */
    private static final int MD5ENCRYPTNUMBER = 2;

    private KoiPasswordUtil() {
        throw new AssertionError();
    }

    /**
     * 字符串加密函数MD5实现
     *
     * @param salt     盐值随机数
     * @param password 密码
     */
    public static String getPassword(String password, String salt) {
        String initMd5Pwd = password + salt;
        for (int i = 0; i < MD5ENCRYPTNUMBER; i++) {
            initMd5Pwd = SaSecureUtil.md5(initMd5Pwd);
        }
        return initMd5Pwd;
    }

    public static void main(String[] args) {
        System.out.println("管理员密码：" + getPassword("123456", "20231123"));
        System.out.println("KOI密码：" + getPassword("123456", "666666"));
        System.out.println("YXT密码：" + getPassword("123456", "666666"));
    }

}
